package com.vf.admin.common;


import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.vf.admin.client.enums.PayTypeEnum;

import java.util.*;

/**
 * 系统常量
 */
public class Constants {

    public static final String access_token = "access_token";   //系统后台管理登录唯一标识
    public static final String FORMTOKEN = "formToken:";        //用户缓存信息
    public static final int token_effective_time = 7 * 24 * 60 * 60;//token有效时间 默认 200 分钟
    public static final int Kaptcha_effective_time = 60;        //后台管理界面验证码有效时间 默认 1 分钟
    public static final int token_yitian_time = 24 * 60 * 60;   //1天的有效时间
    public static final int token_yifenzhong_time = 60 * 60;    //60分钟的秒数
    public static final int FORM_VALIDITY_TIME = 60 * 30;       //后台表单数据有效时间 默认 半 小时
    public static final int user_effective_time = 60;           //app用户验证码有效时间 默认 1 分钟
    public static final int lunbotu_time = 5 * 60;              //app轮播图缓存有效时间 默认5 分钟
    //定时器中需要单独一个tomcat执行任务的tomcat端口号
    public static final String CHUSHIHUA_DUANKOU = "8080";      // 端口号

    //TODO 阿里云短信配置更改
    public static final String PATH_WEBSITE = "dysmsapi.aliyuncs.com";               //项目服务器访问地址
    public static final String aliyun_sms_accessKeyId = "LTAI5tLRaaRm8XhkNZj1kSgq";     //阿里云配置的accessKeyId
    public static final String aliyun_sms_secret = "RBPqGhSkEHMdyDVqelryXezJRQHiWn";          //阿里云配置的secret
    public static final String aliyun_sms_RegionId = "cn-hangzhou";        //阿里云配置的RegionId
    public static final String aliyun_sms_SignName = "莆田市知遇信息技术";        //阿里云配置的app名称
    public static final String aliyun_sms_TemplateCode = "SMS_274595880";    //阿里云参数模板code

    //TODO 阿里云OSS配置更改
//    public static final String ALIYUN_OSS_ENDPOINT = "oss-cn-fuzhou.aliyuncs.com";
//    public static final String ALIYUN_OSS_ACCESSKEYID = "LTAI5tLRaaRm8XhkNZj1kSgq";
//    public static final String ALIYUN_OSS_ACCESSKEYSECRET = "RBPqGhSkEHMdyDVqelryXezJRQHiWn";
//    public static final String ALIYUN_OSS_BUCKETNAME = "zhiyuapp";
//    public static final String ALIYUN_OSS_KEY = "image/";
    public static final String ALIYUN_OSS_ENDPOINT = "oss-cn-shenzhen.aliyuncs.com";
    public static final String ALIYUN_OSS_ACCESSKEYID = "LTAI5tLRaaRm8XhkNZj1kSgq";
    public static final String ALIYUN_OSS_ACCESSKEYSECRET = "RBPqGhSkEHMdyDVqelryXezJRQHiWn";
    public static final String ALIYUN_OSS_BUCKETNAME = "zhiyuapphn";
    public static final String ALIYUN_OSS_KEY = "image/";
    public static final String ALIYUN_URL = "http://osszhiyuhn1.ptszyxx.com/";


    //TODO 声网配置信息
    public static final String Agora_appId = "";
    public static final String Agora_appCertificate = "";
    public static final String Agora_httpUrl = "";

    //TODO 腾讯IM聊天相关配置  旧
    //旧
    public static final Integer TX_SDKAPPID = 1400800054;
    public static final String TX_KEY = "da952eadd25735813888e18bf44ba090993cc482a24cd6787445002ea6bd060a";
    public static final String TX_SECRETID = "AKIDUxXUItFMEtOjpiO0SghUO8f1Mex493jA";
    public static final String TX_SECRETKEY = "JPH1Yr0ykGYcT4QZVDf4NXUJE1scBcpx";
    public static final String TX_ADMIN = "administrator";

    //新  审核用
//    public static final Integer TX_SDKAPPID = 1600012190;
//    public static final String TX_KEY = "a31c1d90697bae32f85129455d58fd6478c21d4e4d1422956144d61f94cc79ad";
//    public static final String TX_SECRETID = "AKIDUxXUItFMEtOjpiO0SghUO8f1Mex493jA";
//    public static final String TX_SECRETKEY = "JPH1Yr0ykGYcT4QZVDf4NXUJE1scBcpx";
//    public static final String TX_ADMIN = "administrator";

    //TODO 百度识别配置信息
    public static final String BD_APP_ID = "31573365";
    public static final String BD_API_KEY = "gGmg3Unf9oC7h1r8XOfwT2Fy";
    public static final String BD_SECRET_KEY = "t68zdk11oUoe6RgmFtmXggxxxIHveQwN";

    //平台管理的返回状态码
    public static final int code_login_error = 1001;// 平台后台的登录失效
    public static final int code_return_sucess = 0;//业务API正常的状态
    public static final int code_return_error = 1002;//业务API不正常或者没有数据的状态
    public static final int code_return_error_CL = 1003;//业务API不正常，需要客户端根据该状态进行单独处理

    public static final int code_upload_yicunzai = 1004;// 上传的文件已存在！
    public static final int code_upload_bucunzai = 1005;//文件没有上传过
    public static final int code_upload_yibufen = 1006;//该文件上传了一部分


    //富文本编辑器上传组件返回状态码
    public static final int code_upload_sucess = 0;//上传成功
    public static final int code_upload_error = 1;//上传失败状态

    //返回提示语
    public static final String msg_return_sucess = "操作完成!";//业务API正常的消息提示
    public static final String msg_return_error = "操作失败!";//业务API不正常的消息提示
    public static final String msg_return_permissions = "您没有该操作的权限!";//业务API没有权限的消息提示
    public static final String msg_return_login = "请您登录后进行操作!";//未登录的消息提示

    //静态资源存储路径
    public static final String PATH_OS_BASE = "D:\\\\ziyuan";//静态资源路径
    public static final String PATH_WEB_BASE = "/liaostatics";//轮播图路径
    public static final String ffmpegpath = "";

    public static final String version = PATH_WEB_BASE + "/version/";//
    public static final String logo = PATH_WEB_BASE + "/logo/";//


    //平台后台的所有API路径
    public static Map<String, Integer> platformApiCacheMap = new HashMap<String, Integer>();
    //不同类型客户端的所有API路径
    public static Map<String, Integer> ClientApiCacheMap = new HashMap<String, Integer>();


    //App首页轮播图类型  1：url链接形式   2：后台编辑的html内容
    public static final int LUNBOTU_URL = 1;//URL链接
    public static final int LUNBOTU_BIANJI = 2;//编辑内容
    private static Map<Integer, String> lunBoTuLeiXingMap = new HashMap<>();

    public static Map<Integer, String> getLunBoTuLeiXingMap() {
        if (lunBoTuLeiXingMap == null || lunBoTuLeiXingMap.size() <= 0) {
            lunBoTuLeiXingMap = new HashMap<Integer, String>();
            lunBoTuLeiXingMap.put(LUNBOTU_URL, "URL链接");
            lunBoTuLeiXingMap.put(LUNBOTU_BIANJI, "编辑内容");
        }
        return lunBoTuLeiXingMap;
    }


    //订单支付状态
    public static final int dingdan_status_dfk = 1;//待付款
    public static final int dingdan_status_yfk = 2;//已付款
    private static Map<Integer, String> dingDanStatusMap = new HashMap<Integer, String>();

    public static Map<Integer, String> getDingDanStatusMap() {
        if (dingDanStatusMap == null || dingDanStatusMap.size() <= 0) {
            dingDanStatusMap = new HashMap<>();
            dingDanStatusMap.put(dingdan_status_dfk, "待付款");
            dingDanStatusMap.put(dingdan_status_yfk, "已付款");

        }
        return dingDanStatusMap;
    }

    //订单支付类型
    public static final int dingdan_zhiFuLeiXing_zfb = 1;//支付宝
    public static final int dingdan_zhiFuLeiXing_wx = 2;//微信
    public static final int dingdan_zhiFuLeiXing_apple = 3;//苹果wx
    public static final int dingdan_zhiFuLeiXing_shande_zfb = 4;//杉德支付宝
    public static final int dingdan_zhiFuLeiXing_shande_wx = 5;//杉德微信

    public static final int dingdan_zhiFuLeiXing_gyl_zfb = 6;//gyl支付宝
    public static final int dingdan_zhiFuLeiXing_gyl_wx = 7;//gyl微信
    private static Map<Integer, String> dingDanZhiFuLeiXingMap = new HashMap<Integer, String>();

    public static Map<Integer, String> getDingDanZhiFuLeiXingsMap() {
        if (dingDanZhiFuLeiXingMap == null || dingDanZhiFuLeiXingMap.size() <= 0) {
            dingDanZhiFuLeiXingMap = new HashMap<>();
            dingDanZhiFuLeiXingMap.put(dingdan_zhiFuLeiXing_zfb, "支付宝");
            dingDanZhiFuLeiXingMap.put(dingdan_zhiFuLeiXing_wx, "微信");
            dingDanZhiFuLeiXingMap.put(dingdan_zhiFuLeiXing_apple, "苹果支付");
            dingDanZhiFuLeiXingMap.put(dingdan_zhiFuLeiXing_shande_zfb, "杉德支付宝");
            dingDanZhiFuLeiXingMap.put(dingdan_zhiFuLeiXing_shande_wx, "杉德微信");

        }
        return dingDanZhiFuLeiXingMap;
    }

    //轮播图位置
    public static final int lunbotu_weizhi_sy = 1;//首页
    public static final int lunbotu_weizhi_zb = 2;//直播
    private static Map<Integer, String> lunBoTuWwiZhiMap = new HashMap<Integer, String>();

    public static Map<Integer, String> getLunBoTuWwiZhiMapMap() {
        if (lunBoTuWwiZhiMap == null || lunBoTuWwiZhiMap.size() <= 0) {
            lunBoTuWwiZhiMap = new HashMap<>();
            lunBoTuWwiZhiMap.put(lunbotu_weizhi_sy, "首页");
            lunBoTuWwiZhiMap.put(lunbotu_weizhi_zb, "直播");
        }
        return lunBoTuWwiZhiMap;
    }

    //是否状态  通用
    public static final int shiFou_STATE_SHI = 1;//是
    public static final int shiFou_STATE_FOU = 2;//否
    private static Map<Integer, String> shiFouStateMap = new HashMap<Integer, String>();

    public static Map<Integer, String> getShiFouStateMap() {
        if (shiFouStateMap == null || shiFouStateMap.size() <= 0) {
            shiFouStateMap = new HashMap<>();
            shiFouStateMap.put(shiFou_STATE_SHI, "是");
            shiFouStateMap.put(shiFou_STATE_FOU, "否");

        }
        return shiFouStateMap;
    }


    //提现状态
    public static final Integer txStatus_QY = 1;//审核中
    public static final Integer txStatus_TY = 2;//审核通过
    public static final Integer txStatus_JJ = 3;//审核拒绝

    public static Map<Integer, String> getStatusMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(txStatus_QY, "待审核");
        map.put(txStatus_TY, "审核通过");
        map.put(txStatus_JJ, "审核拒绝");
        return map;
    }

    //提现方式
    public static final Integer txMode_QY = 1;//支付宝
    public static final Integer txMode_TY = 2;//微信

    public static Map<Integer, String> getModeMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(txMode_QY, "支付宝");
        map.put(txMode_TY, "微信");
        return map;
    }

    //房间类型  getRoomtypeMap
    public static final Integer roomtype_DR = 1;//私聊
    public static final Integer roomtype_KT = 2;//多人聊天
    public static final Integer roomtype_SL = 3;//视频直播
    public static final Integer roomtype_YY = 4;//语音电台

    public static Map<Integer, String> getRoomtypeMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(roomtype_DR, "私聊");
        map.put(roomtype_KT, "多人聊天");
        map.put(roomtype_SL, "视频直播");
        map.put(roomtype_YY, "语音电台");
        return map;
    }

    //roomstatus  官方推荐 0已推荐 1未推荐
    public static final Integer ROOMSTATUS_QY = 1;//已推荐
    public static final Integer ROOMSTATUS_TY = 2;//未推荐

    public static Map<Integer, String> getRoomstatusMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(ROOMSTATUS_QY, "已推荐");
        map.put(ROOMSTATUS_TY, "未推荐");
        return map;
    }

    //账号状态
    public static final Integer STATES_QY = 1;//正常
    public static final Integer STATES_TY = 2;//禁用

    public static Map<Integer, String> getStatesMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(STATES_QY, "正常");
        map.put(STATES_TY, "禁用");
        return map;
    }


    //实名状态 1已实名  2未实名 默认2
    public static final Integer STATUS_QY = 1;//已实名
    public static final Integer STATUS_TY = 2;//未实名

    public static Map<Integer, String> getUserStatusMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(STATES_QY, "已实名");
        map.put(STATES_TY, "未实名");
        return map;
    }

    //账号真假
    public static final Integer TRUE = 1;//真实
    public static final Integer DATA = 0;//假的

    public static Map<Integer, String> getIsReal() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(TRUE, "真实号");
        map.put(DATA, "数据号0");
        map.put(2, "数据号2");
        return map;
    }


    public static final int ORDER_STATE_NAN = 1;//待付款
    public static final int ORDER_STATE_NV = 2;//已付款

    public static Map<Integer, String> getOrderStatusMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(ORDER_STATE_NAN, "待付款");
        map.put(ORDER_STATE_NV, "已付款");
        return map;
    }

    public static final int VIP_ORDER_STATE_NAN = 0;//待付款
    public static final int VIP_ORDER_STATE_NV = 1;//已付款
    public static final int VIP_ORDER_STATE_REFUND = 2;//已退款

    public static Map<Integer, String> getVipOrderStatusMap() {
        Map<Integer, String> map = new LinkedHashMap<>();
        map.put(VIP_ORDER_STATE_NAN, "待付款");
        map.put(VIP_ORDER_STATE_NV, "已付款");
        return map;
    }

    public static Map<Integer, String> getVipOrderRefundStatusMap() {
        Map<Integer, String> map = new LinkedHashMap<>();
        map.put(1, "已退款");
        return map;
    }


    public static final int apliy_STATE_NAN = 1;//支付宝
    public static final int wx_STATE_NV = 2;//微信
    public static final int APPLE_PAY = 3;//苹果
    public static final int SAND_APLIY_PAY = 4;//杉德支付宝
    public static final int SAND_APLIY_WX = 5;//杉德微信

    public static Map<Integer, String> getOrderTypeMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(PayTypeEnum.ALIPAY_NS.getType(), PayTypeEnum.ALIPAY_NS.getRemarks());
        map.put(apliy_STATE_NAN, "支付宝");
        map.put(wx_STATE_NV, "微信");
        map.put(APPLE_PAY, "苹果");
        map.put(SAND_APLIY_PAY, "杉德支付宝");
        map.put(SAND_APLIY_WX, "杉德微信");
        map.put(PayTypeEnum.ALIPAY_YA.getType(), PayTypeEnum.ALIPAY_YA.getRemarks());
        map.put(PayTypeEnum.WEXINPAY_YA.getType(), PayTypeEnum.WEXINPAY_YA.getRemarks());
        map.put(PayTypeEnum.ALIPAY_HFTX.getType(), PayTypeEnum.ALIPAY_HFTX.getRemarks());
        map.put(PayTypeEnum.ALIPAY_XZZB.getType(), PayTypeEnum.ALIPAY_XZZB.getRemarks());
        return map;
    }


    public static final Integer banner_fangjian = 1;//1跳转房间
    public static final Integer banner_waiwang = 2;//2外网
    public static final Integer banner_yonghu = 3;  //用户

    public static Map<Integer, String> getBannerTypeMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(banner_fangjian, "跳转房间");
        map.put(banner_waiwang, "外网");
        map.put(banner_yonghu, "用户");
        return map;
    }

    public static final Integer delivery_shouye = 1;//1首页
    public static final Integer delivery_guangao = 2;//2广告

    public static Map<Integer, String> getdeliverystatusMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(delivery_shouye, "首页");
        map.put(delivery_guangao, "广告页");

        return map;
    }

    public static final Integer status_zhengchang = 1;//正常
    public static final Integer status_jinyong = 2;//禁用

    public static Map<Integer, String> getstatusMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(status_zhengchang, "正常");
        map.put(status_jinyong, "禁用");
        return map;
    }


    //审核状态
    public static final Integer status_tg = 1;//审核通过
    public static final Integer status_wg = 2;//未通过
    public static final Integer status_zs = 3;//正在审核

    public static Map<Integer, String> getstatusType() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(status_tg, "审核通过");
        map.put(status_wg, "未通过");
        map.put(status_zs, "正在审核");
        return map;
    }


    public static Map<Integer, String> getTripStatusMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(0, "待审核");
        map.put(1, "审核通过");
        map.put(2, "未通过");
        return map;
    }


    //App渠道类型 1、官网app  2、应用商店
    public static final int QUDAO_GUANWANG = 1;//官网
    public static final int QUDAO_SHANGDAIN = 2;//应用商店

    //启用状态
    public static final Integer STATE_QY = 1;//启用
    public static final Integer STATE_WQY = 0;//未启用
    private static Map<Integer, String> stateMap = new HashMap<Integer, String>();

    public static Map<Integer, String> getStateMap() {
        if (stateMap == null || stateMap.size() <= 0) {
            stateMap = new HashMap<>();
            stateMap.put(STATE_QY, "启用");
            stateMap.put(STATE_WQY, "未启用");

        }
        return stateMap;
    }

    //客户端api客户端类型 1、 个人用户APP客户端
    public static final int API_CLIENTTYPE_GEREN = 1;//个人用户APP客户端

    public static Map<Integer, String> getApiTypeMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(API_CLIENTTYPE_GEREN, "个人用户APP客户端");
        return map;
    }

    //认证状态 1、未认证 2、已认证
    public static final int RENZHENG_WRZ = 1;//已认证
    public static final int RENZHENG_YRZ = 2;//未认证

    public static Map<Integer, String> getRenZhengMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(RENZHENG_WRZ, "已认证");
        map.put(RENZHENG_YRZ, "未认证");
        return map;
    }


    //客户端api类型状态 1、 需要登录 2、不需要登录
    public static final int API_DL = 1;//需要登录
    public static final int API_BDL = 2;//不需要登录

    public static Map<Integer, String> getApiStateMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(RENZHENG_WRZ, "需要登录");
        map.put(RENZHENG_YRZ, "已认证");
        return map;
    }


    /**
     * app上传渠道
     * 渠道 1、360  2、百度手机助手 3、应用宝 4、华为应用商店  5、小米应用商店 6、oppo应用商店 7、vivo应用商店 8、淘宝 9、其它
     */
    public static Map<Integer, String> qudaoMap;
    public static final int APP_STATE_1 = 1;// 1、安卓
    public static final int APP_STATE_2 = 2;//2、苹果

    public static Map<Integer, String> getQuDaoMap() {
        if (qudaoMap == null || qudaoMap.size() <= 0) {
            qudaoMap = new HashMap<Integer, String>();
            qudaoMap.put(APP_STATE_1, "安卓");
            qudaoMap.put(APP_STATE_2, "苹果");
        }
        return qudaoMap;
    }

    /**
     * app版本是否生效状态
     */
    public static Map<Integer, String> shengxiaoStateMap;
    public static final int SHENGXIAO_STATE_1 = 1;//生效
    public static final int SHENGXIAO_STATE_2 = 2;//未生效

    public static Map<Integer, String> getShengXiaoStateMap() {
        if (shengxiaoStateMap == null || shengxiaoStateMap.size() <= 0) {
            shengxiaoStateMap = new HashMap<Integer, String>();
            shengxiaoStateMap.put(SHENGXIAO_STATE_1, "生效");
            shengxiaoStateMap.put(SHENGXIAO_STATE_2, "未生效");
        }
        return shengxiaoStateMap;
    }

    /**
     * 系统消息是否在客户端弹框的状态
     */
    public static Map<Integer, String> xitongxiaoxiStateMap;
    public static final int XITONGXIAOXI_STATE_1 = 1;//弹框
    public static final int XITONGXIAOXI_STATE_2 = 2;//不弹框

    public static Map<Integer, String> getXiTongXiaoXiStateMap() {
        if (xitongxiaoxiStateMap == null || xitongxiaoxiStateMap.size() <= 0) {
            xitongxiaoxiStateMap = new HashMap<Integer, String>();
            xitongxiaoxiStateMap.put(XITONGXIAOXI_STATE_1, "弹框");
            xitongxiaoxiStateMap.put(XITONGXIAOXI_STATE_2, "不弹框");
        }
        return xitongxiaoxiStateMap;
    }

    /**
     * 消息内容类型 ：1. 文字  2.表情   3.图片   4.视频 5、文件 6、语音  7、红包 8、转账  9、禁言中  10、解封禁言   默认：1、文字
     */
    public static Map<Integer, String> xiaoXiNeiRongLeiXingMap;
    public static final int XIAOXI_LEIXING_WEENZI = 1;//文字
    public static final int XIAOXI_LEIXING_BIAOQING = 2;//表情
    public static final int XIAOXI_LEIXING_TUPIAN = 3;//图片
    public static final int XIAOXI_LEIXING_SHIPIN = 4;//视频
    public static final int XIAOXI_LEIXING_WENJIAN = 5;//文件
    public static final int XIAOXI_LEIXING_YUYIN = 6;//语音
    public static final int XIAOXI_LEIXING_HONGBAO = 7;//红包
    public static final int XIAOXI_LEIXING_ZHUANZHANG = 8;//转账
    public static final int XIAOXI_LEIXING_JINYANZHONG = 9;//禁言中
    public static final int XIAOXI_LEIXING_JIEFENGJINYAN = 10;//解封禁言
    public static final int XIAOXI_LEIXING_TICHUQUNLIAO = 11;//踢出群聊
    public static final int XIAOXI_LEIXING_CHEHUIXIAOXI = 12;//撤回消息

    public static Map<Integer, String> getXiaoXiNeiRongLeiXingMap() {
        if (xiaoXiNeiRongLeiXingMap == null || xiaoXiNeiRongLeiXingMap.size() <= 0) {
            xiaoXiNeiRongLeiXingMap = new HashMap<Integer, String>();
            xiaoXiNeiRongLeiXingMap.put(XIAOXI_LEIXING_WEENZI, "文字");
            xiaoXiNeiRongLeiXingMap.put(XIAOXI_LEIXING_BIAOQING, "表情");
            xiaoXiNeiRongLeiXingMap.put(XIAOXI_LEIXING_TUPIAN, "图片");
            xiaoXiNeiRongLeiXingMap.put(XIAOXI_LEIXING_SHIPIN, "视频");
            xiaoXiNeiRongLeiXingMap.put(XIAOXI_LEIXING_WENJIAN, "文件");
            xiaoXiNeiRongLeiXingMap.put(XIAOXI_LEIXING_YUYIN, "语音");
            xiaoXiNeiRongLeiXingMap.put(XIAOXI_LEIXING_HONGBAO, "红包");
            xiaoXiNeiRongLeiXingMap.put(XIAOXI_LEIXING_ZHUANZHANG, "转账");
            xiaoXiNeiRongLeiXingMap.put(XIAOXI_LEIXING_JINYANZHONG, "禁言中");
            xiaoXiNeiRongLeiXingMap.put(XIAOXI_LEIXING_JIEFENGJINYAN, "解封禁言");
            xiaoXiNeiRongLeiXingMap.put(XIAOXI_LEIXING_TICHUQUNLIAO, "踢出群聊");
            xiaoXiNeiRongLeiXingMap.put(XIAOXI_LEIXING_CHEHUIXIAOXI, "撤回消息");
        }
        return xiaoXiNeiRongLeiXingMap;
    }


    //消息发送人类型：1.对方  2.自己
    public static final int FASONGREN_LEIXING_DF = 1;//对方
    public static final int FASONGREN_LEIXING_ZJ = 2;//自己

    public static Map<Integer, String> getFaSongRenLeiXingMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(FASONGREN_LEIXING_DF, "对方");
        map.put(FASONGREN_LEIXING_ZJ, "自己");
        return map;
    }


    /**
     * app是否强制更新
     */
    public static Map<Integer, String> appUpdateStateMap;
    public static final int APPUPDATE_STATE_1 = 1;//强制更新
    public static final int APPUPDATE_STATE_2 = 2;//不强制更新

    public static Map<Integer, String> getAppUpdateStateMap() {
        if (appUpdateStateMap == null || appUpdateStateMap.size() <= 0) {
            appUpdateStateMap = new HashMap<Integer, String>();
            appUpdateStateMap.put(APPUPDATE_STATE_1, "强制更新");
            appUpdateStateMap.put(APPUPDATE_STATE_2, "不强制更新");
        }
        return appUpdateStateMap;
    }

    /**
     * app客户端用户信息状态
     */
    public static Map<Integer, String> userClientStateMap;
    public static final int USERS_CLIENT_STATE_ZC = 1;//正常
    public static final int USERS_CLIENT_STATE_JY = 2;//禁用

    public static Map<Integer, String> getUserClientStateMap() {
        if (userClientStateMap == null || userClientStateMap.size() <= 0) {
            userClientStateMap = new HashMap<Integer, String>();
            userClientStateMap.put(USERS_CLIENT_STATE_ZC, "正常");
            userClientStateMap.put(USERS_CLIENT_STATE_JY, "禁用");
        }
        return userClientStateMap;
    }

    /**
     * 账号启用/封禁
     */
    public static final int USER_STATE_QY = 1;//启用
    public static final int USER_STATE_FJ = 2;//封禁

    public static Map<Integer, String> getUserStateMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(USER_STATE_QY, "启用");
        map.put(USER_STATE_FJ, "封禁");
        return map;
    }

    /**
     * 来访性别  1、男  2、女  3、未选择  默认3、未选择
     */
    public static final int SEX_STATE_NAN = 1;//男
    public static final int SEX_STATE_NV = 2;//女
    public static final int SEX_STATE_WXZ = 3;//未选择

    public static Map<Integer, String> getSexMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(SEX_STATE_NAN, "男");
        map.put(SEX_STATE_NV, "女");
        map.put(SEX_STATE_WXZ, "未选择");
        return map;
    }

    /**
     * 群成员身份
     */
    public static final int qun_leixing_qz = 1;//群主
    public static final int qun_leixing_gly = 2;//管理员
    public static final int qun_leixing_pt = 3;//普通成员

    public static Map<Integer, String> getQunShenFenMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(qun_leixing_qz, "群主");
        map.put(qun_leixing_gly, "管理员");
        map.put(qun_leixing_pt, "普通成员");
        return map;
    }

    /**
     * 聊天形式
     */
    public static final int liaotian_yiduiyi = 1;//一对一消息
    public static final int liaotian_qunxiaoxi = 2;//群消息
    public static final int liaotian_fankuiyidu = 3;//反馈已读消息

    public static Map<Integer, String> getLiaoTianLeiXingMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(liaotian_yiduiyi, "一对一消息");
        map.put(liaotian_qunxiaoxi, "群消息");
        return map;
    }

    /**
     * 已读状态
     */
    public static final int liaotian_yidu = 1;//已读
    public static final int liaotian_weidu = 2;//未读

    public static Map<Integer, String> getYiDuStateMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(liaotian_yidu, "已读");
        map.put(liaotian_weidu, "未读");
        return map;
    }

    /**
     * 赛事类型
     */
    public static final int SAISHI_LEIXING_LQ = 1;//篮球赛事
    public static final int SAISHI_LEIXING_ZQ = 2;//足球赛事

    public static Map<Integer, String> getSaiShiLeiXingMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(SAISHI_LEIXING_LQ, "篮球赛事");
        map.put(SAISHI_LEIXING_ZQ, "足球赛事");
        return map;
    }

    /**
     * 红包类型
     */
    public static final int hongbao_leixing_geren = 1;//个人红包
    public static final int hongbao_leixing_qun = 2;//群红包

    public static Map<Integer, String> getHongBaoLeiXingMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(hongbao_leixing_geren, "个人红包");
        map.put(hongbao_leixing_qun, "群红包");
        return map;
    }

    /**
     * 红包状态
     */
    public static final int hongbao_state_wlq = 1;//未领取
    public static final int hongbao_state_ylq = 2;//已领取
    public static final int hongbao_state_fh = 3;//红包返还

    public static Map<Integer, String> getHongBaoStateMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(hongbao_state_wlq, "未领取");
        map.put(hongbao_state_ylq, "已领取");
        map.put(hongbao_state_fh, "红包返还");
        return map;
    }


    /**
     * 收入明细类型
     */
    public static final int shouru_leixing_fhb = 1;//发红包
    public static final int shouru_leixing_shb = 2;//收红包
    public static final int shouru_leixing_hbch = 3;//红包撤回
    public static final int shouru_leixing_tx = 4;//提现
    public static final int shouru_leixing_txch = 5;//提现撤回
    public static final int shouru_leixing_cz = 6;//充值
    public static final int shouru_leixing_czch = 7;//充值撤回
    public static final int shouru_leixing_zzadd = 8;//转账(增加)
    public static final int shouru_leixing_zzcut = 9;//转账(减少)
    public static final int shouru_leixing_zpyx = 10;//转盘游戏
    public static final int shouru_leixing_jejl = 11;//金额奖励

    public static Map<Integer, String> getShouRuLeiXingMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(shouru_leixing_fhb, "发红包");
        map.put(shouru_leixing_shb, "收红包");
        map.put(shouru_leixing_hbch, "红包撤回");
        map.put(shouru_leixing_tx, "提现");
        map.put(shouru_leixing_txch, "提现撤回");
        map.put(shouru_leixing_cz, "充值");
        map.put(shouru_leixing_czch, "充值撤回");
        map.put(shouru_leixing_zzadd, "转账(增加)");
        map.put(shouru_leixing_zzcut, "转账(减少)");
        map.put(shouru_leixing_zpyx, "转盘游戏");
        map.put(shouru_leixing_jejl, "金额奖励");
        return map;
    }


    //充值类型
    public static final int CHONGZHI_SHENGJI_CZ = 1;//充值
    public static final int CHONGZHI_SHENGJI_CZCH = 2;//充值撤回

    public static Map<Integer, String> getChongZhiMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(CHONGZHI_SHENGJI_CZ, "充值");
        map.put(CHONGZHI_SHENGJI_CZCH, "充值撤回");
        return map;
    }

    //提现类型
    public static final int TIXIAN_LEIXING_ZFB = 1;//支付宝提现
    public static final int TIXIAN_LEIXING_YHK = 2;//银行卡提现

    public static Map<Integer, String> getTiXianLeiXingMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(TIXIAN_LEIXING_ZFB, "支付宝提现");
        map.put(TIXIAN_LEIXING_YHK, "银行卡提现");
        return map;
    }

    //提现状态
    public static final int TIXIAN_STATE_DSH = 1;//待审核
    public static final int TIXIAN_STATE_YDK = 2;//已打款
    public static final int TIXIAN_STATE_YCH = 3;//已撤回

    public static Map<Integer, String> getTiXianStateMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(TIXIAN_STATE_DSH, "待审核");
        map.put(TIXIAN_STATE_YDK, "已打款");
        map.put(TIXIAN_STATE_YCH, "已撤回");
        return map;
    }

    //奖品类型
    public static final int JIANGPIN_LEIXING_JE = 1;//金额
    public static final int JIANGPIN_LEIXING_SP = 2;//商品
    public static final int JIANGPIN_LEIXING_XX = 3;//谢谢惠顾

    public static Map<Integer, String> getJiangPinLeiXingMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(JIANGPIN_LEIXING_JE, "金额");
        map.put(JIANGPIN_LEIXING_SP, "商品");
        map.put(JIANGPIN_LEIXING_XX, "谢谢惠顾");
        return map;
    }

    /**
     * 通用状态
     */
    public static final int TONGYONG_STATE_QY = 1;//启用
    public static final int TONGYONG_STATE_JY = 2;//禁用

    public static Map<Integer, String> getTongStateMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(TONGYONG_STATE_QY, "启用");
        map.put(TONGYONG_STATE_JY, "禁用");
        return map;
    }

    /**
     * 聊天记录删除状态
     */
    public static final int haoyoumes_del_yishanchu = 1;//已删除
    public static final int haoyoumes_del_weishanchu = 2;//未删除

    public static Map<Integer, String> getHaoYouDelStateMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(haoyoumes_del_yishanchu, "已删除");
        map.put(haoyoumes_del_weishanchu, "未删除");
        return map;
    }

    /**
     * 聊天记录删除状态
     */
    public static final int qunxiaoxi_jinyan_yijinyan = 1;//已禁言
    public static final int qunxiaoxi_jinyan_bujinyan = 2;//不禁言

    public static Map<Integer, String> getQunChengYuanJinYanStateMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(qunxiaoxi_jinyan_yijinyan, "已禁言");
        map.put(qunxiaoxi_jinyan_bujinyan, "不禁言");
        return map;
    }

    //禁言和解封禁言通知
    public static final String jinyan_tongzhi_yijinyan = "您已被禁言！";
    public static final String jinyan_tongzhi_bujinyan = "您已被解除禁言！";
    public static final String jinyan_tongzhi_quantiyijinyan = "全体禁言中！";
    public static final String jinyan_tongzhi_quantibujinyan = "全体禁言已解除！";

    /**
     * 聊天撤回状态
     */
    public static final int message_chehui_yichehui = 1;//已撤回
    public static final int message_chehui_weichehui = 2;//未撤回

    public static Map<Integer, String> getMessageCheHuiStateMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(message_chehui_yichehui, "已撤回");
        map.put(message_chehui_weichehui, "未撤回");
        return map;
    }


    /**
     * 关注状态 1关注  2取消关注
     */
    public static final int GZZT_GZ = 1;//关注
    public static final int GZZT_QXGZ = 2;//取消关注

    public static Map<Integer, String> getGzztMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(GZZT_GZ, "关注");
        map.put(GZZT_QXGZ, "取消关注");
        return map;
    }

    /**
     * 砸蛋游戏记录：类型  1银蛋   2金蛋  3钻石蛋
     */
    public static final int ZD_YD = 1;//银蛋
    public static final int ZD_JD = 2;//金蛋
    public static final int ZD_ZSD = 3;//钻石蛋

    public static Map<Integer, String> getZdlxMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(ZD_YD, "银蛋");
        map.put(ZD_JD, "金蛋");
        map.put(ZD_ZSD, "钻石蛋");
        return map;
    }

    /**
     * 渠道 1、安卓  2、ios
     */
    public static final int QD_AZ = 1;//安卓
    public static final int QD_IOS = 2;//ios
    public static final int QD_POP = 3;//ios

    public static Map<Integer, String> getQdMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(QD_AZ, "安卓");
        map.put(QD_IOS, "ios");
        map.put(QD_POP, "pop");
        return map;
    }

    /**
     * 类型 1坐骑  2头饰 3礼物
     */
    public static final int LX_ZQ = 1;//坐骑
    public static final int LX_TS = 2;//头饰
    public static final int LX_LW = 3;//礼物

    public static Map<Integer, String> getLeixingMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(LX_ZQ, "坐骑");
        map.put(LX_TS, "头饰");
        map.put(LX_LW, "礼物");
        return map;
    }

    /**
     * 购买坐骑记录：状态 1、默认  2、不默认
     */
    public static final int MRZT_MR = 1;//默认
    public static final int MRZT_BMR = 2;//不默认

    public static Map<Integer, String> getMorenStateMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(MRZT_MR, "默认");
        map.put(MRZT_BMR, "不默认");
        return map;
    }

    /**
     * 明细类型 1充值 2提现  3兑换 4金币  5收礼  6送礼
     */
    public static final int MXLX_CZ = 1;//充值
    public static final int MXLX_TX = 2;//提现
    public static final int MXLX_DH = 3;//钻石
    public static final int MXLX_JB = 4;//金币
    public static final int MXLX_SL = 5;//收礼
    public static final int MXLX_SONGLI = 6;//送礼
    public static final int MXLX_MLZ = 7;//魅力值

    public static Map<Integer, String> getMingxiMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(MXLX_CZ, "充值");
        map.put(MXLX_TX, "提现");
        map.put(MXLX_DH, "钻石");
        map.put(MXLX_JB, "金币");
        map.put(MXLX_SL, "收礼");
        map.put(MXLX_SONGLI, "送礼");
        map.put(MXLX_MLZ, "魅力值");
        return map;
    }

    /**
     * 财富类型 财富类型  1钻石 2金币 3魅力值
     */
    public static final int zuanshi_caifu = 1;//钻石
    public static final int jinbi_caifu = 2;//金币
    public static final int mieli_caifu = 3;//魅力值

    public static Map<Integer, String> getCaiFuLeiXinMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(zuanshi_caifu, "钻石");
        map.put(jinbi_caifu, "金币");
        map.put(mieli_caifu, "魅力值");
        return map;
    }


    /**
     * 任务领取类型
     */
    public static final int weilingqqu = 2;//未领取
    public static final int yilingqu = 3;//已领取

    public static Map<Integer, String> getJiangliMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(weilingqqu, "未领取");
        map.put(yilingqu, "已领取");
        return map;
    }

    /**
     * 操作类型
     */
    public static final int opone = 1;//注册
    public static final int optwo = 2;//登录
    public static final int opthree = 3;//一键登录
    public static final int opfour = 4;//验证码登录
    public static final int opfive = 5;//发朋友圈
    public static final int opsix = 6;//完善信息
    public static final int opserven = 7;//我的钱包
    public static final int opeight = 8;//钻石充值
    public static final int opnine = 9;//会员充值
    public static final int opten = 10;//未设置



    public static Map<Integer, String> getopNameMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(opone, "注册");
        map.put(optwo, "登录");
        map.put(opthree, "一键登录");
        map.put(opfour, "验证码登录");
        map.put(opfive, "发朋友圈");
        map.put(opsix, "完善信息");
        map.put(opserven, "我的钱包");
        map.put(opeight, "钻石充值");
        map.put(opnine, "会员充值");
        map.put(opten, "未设置");
        return map;

    }


    public static final int online = 1;//在线
    public static final int notLine = 2;//不在线

    public static Map<Integer, String> getOnlineStatusMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(online, "在线");
        map.put(notLine, "不在线");
        return map;
    }


    public static final int windowsTicke1 = 1;//买了
    public static final int windowsTicke2 = 2;//没买

    public static Map<Integer, String> getWindowsTicketMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(windowsTicke1, "买了");
        map.put(windowsTicke2, "没买");
        return map;
    }

    public static final int vip1 = 1;//vip
    public static final int vip2 = 2;//非vip

    public static Map<Integer, String> getVipStatusMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(vip1, "买了");
        map.put(vip2, "没买");
        return map;
    }

    public static final int close1 = 3;//
    public static final int close2 = 6;//
    public static final int close3 = 12;//
    public static final int close4 = 24;//
    public static final int close5 = 72;//
    public static final int close6 = -1;//


    public static Map<Integer, String> getCloseMap() {
        Map<Integer, String> map = new LinkedHashMap<Integer, String>();
        map.put(close1, "3小时");
        map.put(close2, "6小时");
        map.put(close3, "12小时");
        map.put(close4, "1天");
        map.put(close5, "3天");
        map.put(close6, "永久");
        return map;
    }




    /**
     * 任务类型
     */
    public static final int ziliao_task = 1;//完善资料
    public static final int shiming_task = 2;//实名认证
    public static final int shipin_task = 3;//视频认证
    public static final int chongzhi_task = 4;//充值一笔
    public static final int songli_task = 5;//送一次礼物
    public static final int guankan_task = 6;//观看一场直播
    public static final int jiarufensi_task = 7;//加入一个粉丝团
    public static final int choujiang_task = 8;//参与一次抽奖

    /**
     * 加减类型
     */
    public static final int zengjia = 1;//增加
    public static final int jianshao = 2;//减少

    /**
     * 腾讯返回状态码
     * 0正常
     */
    public static final String CODE_RETURN_TX = "0";
    /**
     * 腾讯返回状态码
     * 0正常
     * 通用
     */
    public static final int TX_ERRCODED_SUCESS = 0;
    /**
     * 腾讯返回状态码
     * 群组已存在
     */
    public static final int TX_ERRCODED_qz = 10021;

    /**
     * 动态内容长度限制
     */
    public static final int dongtai_length = 200;

    public static final int shengfengzheng = 18;

    /**
     * 动态&评论  点赞状态
     * 1点赞   2取消点赞
     */
    public static final int dtpl_dianzan = 1;
    public static final int dtpl_quxiao = 2;

    public static final int UPLOAD_IMG_SIZE_MAX = 1073741824;

    /**
     * 贵族ico存储
     */
    public static Map<Integer, String> guizuCacheMap = new HashMap<Integer, String>();
    /**
     * 贵族名存储
     */
    public static Map<Integer, String> guizuMingMap = new HashMap<Integer, String>();
    /**
     * 头饰ico存储
     */
    public static Map<Integer, String> toushiCacheMap = new HashMap<Integer, String>();
    /**
     * 粉丝团存储
     */
    public static Map<Integer, Integer> fensituanCacheMap = new HashMap<Integer, Integer>();
    /**
     * 实名认证存储
     */
    public static Map<Integer, Integer> shimingCacheMap = new HashMap<Integer, Integer>();
    /**
     * 视频认证存储
     */
    public static Map<Integer, Integer> videoCacheMap = new HashMap<Integer, Integer>();

    /**
     * 敏感词
     */
    public static Set<String> keyWordSet = new HashSet<>();

    public static JSONArray jsonArray = new JSONArray();

    /**
     * 网络中断的用户
     */
    public static Map<String, Date> duanxianUserMap = new HashMap<String, Date>();


    //购买方式 1、钻石  2、金币  默认：1、钻石
    public static final int goumaifangshi_zuanshi = 1;
    public static final int goumaifangshi_jinbi = 2;

    /**
     * 房间身份 1房主 2管理员 3用户
     */
    public static final int room_role_fangzhu = 1;//房主
    public static final int room_role_admin = 2;//管理员
    public static final int room_role_user = 3;//用户


    public class RedisKeysLife {
        public static final long hours_1 = 3600;
        public static final long hours_2 = 7200;
        //12小时  /秒
        public static final long hours_12 = 43200;
        public static final long hours_13 = 46800;
    }

    public static List<String> heartSayHelloCacheNv = new ArrayList<>();
    public static List<String> heartSayHelloCacheNan = new ArrayList<>();
}
